#let title(
  faculty,
  specialty,
  area,
  subject,
  student,
  chief,
  city: "Тольятти"
) = [
  #set align(center)
  #set block(above: 20pt)

  #let inline(body) = box(baseline: 12pt)[#body]
  #let undertitle(title, width: auto, body) = {
    layout(size => {
      stack(
        dir: ttb,
        body,
        block(inset: (y: 3pt), 
          line(length: 
            if width == auto { 
              measure(body).width 
            } else { width },
            stroke: .5pt
          ),
        ),
        text(size: 9pt)[(#title)]
      )
    })
  }

  #grid(
    rows: (1fr, auto),
    [
      #text(size: 12pt)[МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ] \
      федеральное государственное бюджетное образовательное учреждение \
      высшего образования \
      "Тольяттинский государственный университет"

      #undertitle("наименование института полностью")[Институт математики, физики и информационных технологий]

      Кафедра #inline[#undertitle("наименование")["#faculty"]]

      #undertitle("код и наименование направления подготовки, специальности", width: 100%)[#specialty]

      #undertitle("направленность (профиль) / специализация", width: 100%)["#area"]

      #block(above: 60pt)[
        *#upper()[Выпускная квалификационная работа \ (бакалаврская работа)]*
      ]

      #block(below: 30pt)[
        на тему: #underline()["#subject"]
      ]

      #table(
        row-gutter: 18pt,
        stroke: none,
        columns: (auto, 2fr, 1fr),
        align: (x,y) => if x == 0 { left } else { bottom },
        rows: 2,
        [Студент], [#undertitle("И.О. Фамилия", width: 100%)[#student]], [#undertitle("личная подпись", width: 100%)[]],
        [Руководитель], table.cell(colspan: 2)[ #undertitle("ученая степень, звание, И.О. Фамилия", width: 100%)[#chief] ]
      )
    ],
    [#city, #datetime.today().year()]
  )
]